<?php


/*
*scws文档
*1、http://www.xunsearch.com/scws/docs.php#pscws4
*2、http://www.xunsearch.com/scws/index.php  中文分词
*/
// 拆分字符串的方法 
function FC($str='')
{
    // header("Content-type: text/html; charset=utf-8"); 

    //引入第三方拓展类
    //  . 号代表路径 /  #号代表.
    //引入 ThinkPhp/Library/Vendor/pscws4/的pscws4.class.php
    Vendor('pscws4.pscws4#class');

    // 建立分词类对像, 参数为字符集, 默认为 gbk, 可在后面调用 set_charset 改变
    $pscws = new PSCWS4('utf8');

    // var_dump(__PUBLIC__);

    //
    // 接下来, 设定一些分词参数或选项, set_dict 是必须的, 若想智能识别人名等需要 set_rule 
    //得到词库 放在Public etc 下
    //
    $pscws->set_dict('./Public/etc/dict.utf8.xdb');

    //set_rule 智能识别人名
    $pscws->set_rule('./Public/etc/rules.ini');

    // 分词调用 send_text() 将待分词的字符串传入, 紧接着循环调用 get_result() 方法取回一系列分好的词
    // 直到 get_result() 返回 false 为止
    // 返回的词是一个关联数组, 包含: word 词本身, idf 逆词率(重), off 在text中的偏移, len 长度, attr 词性
    //
    $pscws->send_text($str);

    // 在 send_text 之后可以调用 get_tops() 返回分词结果的词语按权重统计的前 N 个词
    // 常用于提取关键词, 参数用法参见下面的详细介绍.
    // 返回的数组元素是一个词, 它又包含: word 词本身, weight 词重, times 次数, attr 词性

    // get_tops方法的第一个参数是提取多少个关键词
    $tops = $pscws->get_tops(10, 'n,v');


    $tempArr = array();  //新建数组 用来截取分词的结果

    
    //循环提取的关键词 只要里面的word
    foreach ($tops as $word)
    {
      $tempArr[] = $word['word'];
    }

    return $tempArr;
}



//用省略号代替多的字..可混合中英文
function GetPartStr($str,$len)//$str字符串   $len 控制长度
{
    $one=0;
    $partstr='';
    for($i=0;$i<$len;$i++){
        $sstr=substr($str,$one,1);
        if(ord($sstr)>224){
            $partstr.=substr($str,$one,3);
            $one+=3;
        }elseif(ord($sstr)>192){
            $partstr.=substr($str,$one,2);
            $one+=2;
        }elseif(ord($sstr)<192){
            $partstr.=substr($str,$one,1);
            $one+=1;
        }
    }
    if(strlen($str)<$one){
        return $partstr;
    }else{
        return $partstr.'....';
    }
}



/************************************   qq第三方登录start    *****************************/
//1、QQ登录的方法 执行qq_login()
//2、QQ登录授权成功红 调用qqLoginCallback后再取得回调的信息
function qqLoginApi(){
    Vendor('qqloginAPI.qqConnectAPI');
    $qc = new QC();
    $qc->qq_login();
}

//QQ回调
function qqLoginReturn(){
    Vendor('qqloginAPI.qqConnectAPI');
    $qc = new QC();
    $data['code'] = $_REQUEST['code'];
    $data['state'] = $_REQUEST['state'];
    $data['access_token'] = $qc->qq_callback(); //callback主要是验证 code和state,返回token信息，并写入到文件中存储，方便get_openid从文件中度
    $data['openid'] = $qc->get_openid();        //获得唯一的openid 这个id是要存储在数据库里面的 
    $qc = new QC($data['access_token'],$data['openid']);   

    $data['user_info'] = $qc->get_user_info();  //获得QQ用户的东西
    return $data;
}

/************************************   qq第三方登录end    *****************************/
?>